home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
pc
/
LOGIC Apple II 5.25" Library - DOS Part 3
/
DOS078A.dsk
/
SPACE LANDER.bas
< prev
next >
Wrap
BASIC Source File
|
2012-02-16
|
10KB
|
233 lines
67 GOTO 25000
68 GOSUB 10000
69 GOSUB 20000
70 G = FU:DC = .1:TT = .15: VTAB 24: HTAB 29: PRINT "FUEL:";
90 SC = SC +1: VTAB 24: HTAB 35: PRINT YY -SC;" ";
93 IF SC <YY THEN GOTO 95
94 PRINT "<CTRL-G>": INVERSE : VTAB 23: HTAB 13: PRINT " OUT OF FUEL ";: NORMAL : PRINT " "
95 GOSUB 8000
282 IF YN >K THEN GOTO 1000
520 HCOLOR= 0
530 HPLOT XO,YO TO XO +4,YO TO XO +2,YO -3 TO XO,YO
535 IF YN <5 THEN YN = YO: GOTO 560
536 IF XN >265 THEN XN = XO: GOTO 560
540 HCOLOR= 3
550 HPLOT XN,YN TO XN +4,YN TO XN +2,YN -3 TO XN,YN
560 ON FLAG GOTO 95,600,650,700
600 FAG = 0: HCOLOR= 5
620 HPLOT XN -1,YN +7 TO XN +1,YN TO XN +3,YN +7
630 IF FAG = 1 THEN GOTO 90
640 FAG = 1: HCOLOR= 0: GOTO 620
650 FAG = 0: HCOLOR= 5
660 HPLOT XN +4,YN -1 TO XN +10,YN -1
670 IF FAG = 1 THEN GOTO 90
680 FAG = 1: HCOLOR= 0: GOTO 660
700 FAG = 0: HCOLOR= 5
710 HPLOT XN,YN -1 TO XN -6,YN -1
720 IF FAG = 1 THEN GOTO 90
730 FAG = 1: HCOLOR= 0: GOTO 710
1000 IF XN >130 AND XN <155 THEN GOTO 2000
1010 REM OUT OF TARGET
1020 HGR : HCOLOR= 2: HPLOT 0,135 TO 45,125 TO 70,165
1030 HPLOT 55,135 TO 65,127 TO 100,135 TO 145,125 TO 155,130
1040 HPLOT 120,155 TO 160,128 TO 240,150
1050 HPLOT 192,132 TO 230,125 TO 279,130
1060 HCOLOR= 3: HPLOT 31,90: HPLOT 41,30: HPLOT 101,55: HPLOT 189,81: HPLOT 241,21: HPLOT 271,77
1070 HCOLOR= 1: FOR ZZ = 1 TO 4: HPLOT 97,129 +ZZ TO 110,129 +ZZ: NEXT
1100 YN = 9:DC = 1.5 *DC:TT = 1.3 *TT
1110 VX = 2 *VX:VY = 2 *VY
1120 SC = SC +1: VTAB 24: HTAB 35: PRINT YY -SC;" ";
1130 IF SC <YY THEN GOTO 1200
1140 VTAB 23: HTAB 13: INVERSE : PRINT " OUT OF FUEL ";: NORMAL : PRINT " "
1200 GOSUB 8000
1220 IF YN <M THEN VX = VX/2:VY = VY/2:YN = 130: GOTO 68
1240 IF YN >L THEN GOTO 1500
1270 HCOLOR= 0
1280 HPLOT XO,YO TO XO +QD,YO -QH TO XO +QH,YO TO XO +QD,YO -QC TO XO,YO
1290 IF XN <U OR XN >V THEN XN = XO: GOTO 1320
1300 HCOLOR= 3
1310 HPLOT XN,YN TO XN +QD,YN -QH TO XN +QH,YN TO XN +QD,YN -QC TO XN,YN
1320 ON FLAG GOTO 1200,1350,1400,1450
1350 FAG = 0: HCOLOR= 5
1360 HPLOT XN -QA,YN +QH TO XN +QC,YN -QB TO XN +QG,YN +QH
1370 IF FAG = 1 THEN GOTO 1120
1380 FAG = 1: HCOLOR= 0: GOTO 1360
1400 FAG = 0: HCOLOR= 5
1410 HPLOT XN +QF,YN -QD TO XN +15,YN -QD
1420 IF FAG = 1 THEN GOTO 1120
1430 FAG = 1: HCOLOR= 0: GOTO 1410
1450 FAG = 0: HCOLOR= 5
1460 HPLOT XN -QA,YN -QD TO XN -10,YN -QD
1470 IF FAG = 1 THEN GOTO 1120
1480 FAG = 1: HCOLOR= 0: GOTO 1460
1500 REM OFF SITE
1510 IF XN >96 AND XN <109 THEN GOTO 1550
1520 FAG = 0: HCOLOR= 3
1522 HPLOT XN -10,YN -3 TO XN,YN TO XN +8,YN -20
1524 HPLOT XN +3,YN -17 TO XN +8,YN TO XN +25,YN -4
1526 IF FAG = 1 THEN GOTO 3000
1528 FAG = 1: HCOLOR= 0: GOTO 1522
1550 IF VY <1 THEN GOTO 1600
1570 GOTO 3000
1600 HOME : VTAB 23: INVERSE
1610 PRINT "<CTRL-G> YOU LANDED WAY OFF-TARGET,BUT YOU ";
1620 PRINT " SAVED YOUR SHIP FOR RETURN TO EARTH ! ";
1630 NORMAL
1640 GOTO 4020
2000 REM IN TARGET
2010 HGR : HCOLOR= 3
2020 HPLOT 0,60 TO 20,30 TO 58,5 TO 76,70 TO 85,70 TO 97,120
2030 HPLOT 95,110 TO 100,110 TO 105,150 TO 170,150 TO 215,60 TO 220,90
2040 HPLOT 215,70 TO 240,20 TO 260,20 TO 279,50
2050 HCOLOR= 1: FOR ZZ = 1 TO 5: HPLOT 110,149 +ZZ TO 126,149 +ZZ: NEXT
2060 HCOLOR= 2
2070 HPLOT 10,20: HPLOT 104,30: HPLOT 110,86: HPLOT 152,40: HPLOT 190,100: HPLOT 260,16
2100 YN = 9: REM
2110 VX = 2 *VX:VY = 2 *VY
2120 SC = SC +1: VTAB 24: HTAB 35: PRINT YY -SC;" ";
2130 IF SC <YY THEN GOTO 2200
2140 VTAB 23: HTAB 13: INVERSE : PRINT " OUT OF FUEL ";: NORMAL : PRINT " "
2200 GOSUB 8000
2220 IF YN <M THEN VX = VX/2:VY = VY/2:YN = 135: GOTO 68
2230 IF YN >F THEN GOTO 2500
2232 IF YN >B *XN -C THEN GOTO 2600
2234 IF YN >D -E *XN THEN GOTO 2700
2240 HCOLOR= 0
2242 HPLOT XO,YO TO XO +QD,YO -QH TO XO +QH,YO TO XO +QD,YO -QC TO XO,YO
2244 IF XN <U OR XN >V THEN XN = XO: GOTO 2250
2246 HCOLOR= 3: HPLOT XN,YN TO XN +QD,YN -QH TO XN +QH,YN TO XN +QD,YN -QC TO XN,YN
2250 ON FLAG GOTO 2200,2300,2350,2400
2300 FAG = 0: HCOLOR= 5
2310 HPLOT XN,YN +QF TO XN +QC,YN -QB TO XN +QF,YN +QF
2320 IF FAG = 1 THEN GOTO 2120
2330 FAG = 1: HCOLOR= 0: GOTO 2310
2350 FAG = 0: HCOLOR= 5
2360 HPLOT XN +QF,YN -QD TO XN +15,YN -QD
2370 IF FAG = 1 THEN GOTO 2120
2380 FAG = 1: HCOLOR= 0: GOTO 2360
2400 FAG = 0: HCOLOR= 5
2410 HPLOT XN -QA,YN -QD TO XN -10,YN -QD
2420 IF FAG = 1 THEN GOTO 2120
2430 FAG = 1: HCOLOR= 0: GOTO 2410
2500 IF VY <1 THEN GOTO 4000
2510 FAG = 0: HCOLOR= 3
2520 HPLOT XN -15,YN -15 TO XN,YN TO XN +20,YN -33
2530 HPLOT XN -5,YN -30 TO XN +8,YN TO XN +20,YN -15
2540 IF FAG = 1 THEN GOTO 3000
2550 FAG = 1: HCOLOR= 0: GOTO 2520
2600 FAG = 0: HCOLOR= 3
2610 HPLOT XN +5,YN +20 TO XN,YN TO XN +20,YN -15
2620 HPLOT XN +30,YN +7 TO XN,YN -5 TO XN +10,YN -23
2630 IF FAG = 1 THEN GOTO 3000
2640 FAG = 1: HCOLOR= 0: GOTO 2610
2700 FAG = 0: HCOLOR= 3
2710 HPLOT XN,YN +20 TO XN +8,YN TO XN -7,YN -10
2720 HPLOT XN -4,YN +5 TO XN +8,YN -4 TO XN,YN -25
2730 IF FAG = 1 THEN GOTO 3000
2740 FAG = 1: HCOLOR= 0: GOTO 2710
3000 HPLOT XO,YO TO XO +4,YO -8 TO XO +8,YO
3010 PRINT "<CTRL-G><CTRL-G><CTRL-G>"
3020 HOME : VTAB 22: INVERSE
3022 PRINT " YOUR SHIP HAS CRASHED !! ";
3024 PRINT " *** REST IN PEACE *** ";
3026 NORMAL
3030 INPUT " TRY AGAIN (Y/N)?";A$
3040 IF A$ = "Y" THEN GOTO 25300
3050 IF A$ = "N" THEN GOTO 3100
3060 GOTO 3030
3100 TEXT : HOME : END
4000 IF XN >126 OR XN <110 THEN GOTO 4500
4010 HOME : VTAB 23: INVERSE
4012 PRINT "<CTRL-G> CONGRATULATIONS, THE COLUMBIA HAS ";
4014 PRINT " LANDED !! ";
4016 NORMAL
4020 INPUT " TRY AGAIN (Y/N)?";A$
4030 IF A$ = "Y" THEN GOTO 25300
4040 IF A$ = "N" THEN GOTO 4060
4050 GOTO 4020
4060 TEXT : HOME : END
4500 HOME : VTAB 23: INVERSE
4502 PRINT "<CTRL-G><CTRL-G> YOU LANDED ON A ROUGH SPOT AND ";
4504 PRINT " DAMAGED YOUR SHIP. YOUR TRIP IS ONE WAY";
4506 NORMAL
4520 GOTO 4020
8000 FAG = 0:YO = YN:XO = XN
8002 S = PEEK(R)
8003 POKE SS,T
8004 IF S = N THEN FLAG = 1
8006 IF S = O THEN FLAG = 2
8008 IF S = P THEN FLAG = 3
8010 IF S = Q THEN FLAG = 4
8012 IF SC >YY THEN FLAG = 1
8014 ON FLAG GOTO 8016,8017,8018,8019
8016 A = G:H = 0: GOTO 8100
8017 A = G -TT:H = 0: GOTO 8100
8018 A = G:H = -DC: GOTO 8100
8019 A = G:H = DC: GOTO 8100
8100 VY = VY +A:VX = VX +H:YN = YO +VY -A/2:XN = XO +VX -H/2
8116 RETURN
10000 HGR : HCOLOR= 2
10020 HPLOT 17,150 TO 25,145 TO 40,145 TO 50,150 TO 65,150 TO 70,147 TO 90,147 TO 100,140 TO 110,140 TO 120,137 TO 125,149
10030 HPLOT 125,149 TO 130,149 TO 132,158 TO 152,158 TO 165,140 TO 180,140 TO 190,150 TO 210,153 TO 220,145 TO 240,145 TO 250,140 TO 279,150
10032 HCOLOR= 1: HPLOT 137,159 TO 147,159
10034 HPLOT 137,158 TO 147,158
10036 HPLOT 137,157 TO 147,157
10040 HCOLOR= 7
10050 HPLOT 10,20: HPLOT 20,60: HPLOT 20,120: HPLOT 40,150: HPLOT 72,40: HPLOT 100,86: HPLOT 170,120: HPLOT 180,36
10055 HPLOT 220,80: HPLOT 232,6: HPLOT 274,82
10100 HCOLOR= 1: HPLOT 103,140 TO 110,140: HPLOT 103,141 TO 110,141
10200 HPLOT 168,140 TO 175,140: HPLOT 168,141 TO 175,141
10300 RETURN
20000 G = 0:DC = 0:TT = 0
20010 GOSUB 8000
20020 HCOLOR= 0
20030 HPLOT XO,YO TO XO +4,YO TO XO +2,YO -3 TO XO,YO
20040 IF XN >V THEN XN = 10
20050 HCOLOR= 3
20060 HPLOT XN,YN TO XN +4,YN TO XN +2,YN -3 TO XN,YN
20070 IF FLAG >1 THEN GOTO 20100
20080 GOTO 20010
20100 RETURN
25000 TEXT : HOME : VTAB 5: INVERSE
25010 PRINT " ";
25020 VTAB 19
25030 PRINT " ";
25040 NORMAL : VTAB 10
25050 PRINT " SPACE LANDER ";
25060 VTAB 12: PRINT " BY ";
25070 VTAB 14: PRINT " MARCEL WIDMANN ";
25080 VTAB 23: INPUT " CONTINUED>>";A$
25100 HOME : VTAB 5
25110 PRINT " THE OBJECT OF THE EXERCISE IS TO LAND YOUR SPACESHIP 'COLUMBIA'ON A STELLAR BODY."
25120 PRINT " THE FOLLOWING KEYES MUST BE USED TO CONTROLL YOUR DESCENT:"
25140 PRINT
25160 PRINT " G............MOVE TO THE LEFT"
25170 PRINT " J............MOVE TO THE RIGHT
25180 PRINT " Y............MOVE UP (RETRO ROCKET)"
25190 PRINT " SPACE BAR....SHUT DOWN ENGINES"
25200 PRINT : PRINT : PRINT
25210 PRINT " IN ORDER TO LAND SUCCESSFULLY YOU MUST REACH THE PLANETS SURFACE AT A VERY LOW DESCENT VELOCITY,"
25220 PRINT " AND PREFERABLY ON A GREEN MARKED SPOT. "
25225 VTAB 24
25230 INPUT " CONTINUED>>";A$
25300 LOMEM: 16384
25301 F = 151:B = 3.09:C = 175:D = 465.3:E = 1.86
25302 ONERR GOTO 3010
25303 K = 138:L = 130:M = 9:N = 160:O = 217:P = 199:Q = 202
25304 R = -16384:QA = 1:QB = 2:QC = 3:QD = 4:QE = 5:QF = 6:QG = 7:QH = 8
25305 SS = -16368:T = 0
25306 U = 20:V = 260
25307 FLAG = 1:YN = 5:XN = 10:SC = 0
25311 TEXT : HOME : VTAB 7: PRINT " SELECT FROM THE FOLLOWING:"
25312 PRINT : PRINT "****************************************"
25320 PRINT : PRINT
25340 PRINT " MOON LANDING (DIFFICULTY 1).....1 "
25350 PRINT " MARS LANDING ( '' 2).....2 "
25360 PRINT " VENUS LANDG. ( '' 3).....3 "
25380 VTAB 22: INPUT " ENTER SELECTION....:";FG
25390 IF FG <1 OR FG >3 THEN GOTO 25380
25400 ON FG GOTO 25410,25420,25430
25410 YY = 180:FU = .07:VX = 3: GOTO 25500
25420 YY = 220:FU = .09:VX = 4: GOTO 25500
25430 YY = 360:FU = .11:VX = 4: GOTO 25500
25500 HOME : GOSUB 10000: GOSUB 20000: GOTO 70